Teil 1: Prozessor, Takt und Speicher Teil 2: Bussysteme Teil 3: Peripherie
Der Prozessor (oder CPU -> Central Processing Unit) ist das Herzstück des Computers. Seine Geschwindigkeit bestimmt, wie schnell anstehende Daten bearbeitet werden können - zumindest in der Theorie. Denn die CPU ist das schnellste Stück Technik in einem Computer und muß demzufolge oft genug auf die anderen Komponenten warten.
Eng gekoppelt an den Prozessor ist auch die Taktfrequenz. Der Prozessor selbst könnte ohne diesen Schrittmacher gar nichts tun. Ist er aber zu schnell, gerät die CPU auch leicht aus dem Tritt.
Die Kenndaten einer CPU klingen reichlich simpel: Die Taktfrequenz gibt an, wie schnell der Prozessor ist; die Busbreite gibt an, wie viele Bits bei einem Takt betroffen sind. Wobei Bus nicht gleich Bus ist. Es gibt einen Datenbus und einen Adressbus. Und noch einige mehr, die uns jetzt nicht interessieren.
Sehen wir uns einen Motorola MC68020 an, wie er serienmäßig im A1200 werkelt. Die dort verwendete Version hat nur einen Adressbus von 24 Bit Breite, jedoch schon einen vollwertigen 32 Bit Datenbus. Ist die CPU deswegen langsamer als ein Prozessor mit 32 Bit Adressbus?
Nein. Denn der Adressbus bezeichnet nur, vereinfacht gesagt, den maximal zur Verfügung stehenden Speicherbereich. Mit 24 Bit kann man 16 MByte adressieren, mit 32 Bit dann eben 4 GByte, also 4096 MByte. An so einer Adresse muß aber nicht zwingend eine Speicherstelle stehen, ebenso können dort Kontrollregister für andere Hardware vorhanden sein.
Zusätzlich verwendet das System das oberste Bit für interne Zwecke, so daß der A1200 letztlich nur bis 8 MByte Speicher aufgerüstet werden kann. Bei den anderen Prozessoren (MC68030 bis MC68060) bleiben so theoretisch 2 GByte zur Speicheraufrüstung.
Wichtiger ist der Datenbus. Denn die Breite dieses Busses legt fest, wie viele Bits auf einen Rutsch gelesen oder geschrieben werden können. Gegenüber dem MC68000 mit seinen 16 Bit Adressbus sollte der MC68020 also doppelt so schnell sein.
Zudem arbeitet der A1200 mit 14 MHz, also doppelt so schnell wie z.B. ein A500. Rein theoretisch ist der A1200 also schon viermal so schnell, wie ein A500.
Aber es gibt noch mehr geschwindigkeitssteigernde Faktoren. Der MC68020 besitzt nämlich einen Datencache. Das ist ein kleiner Zwischenspeicher direkt im Prozessor, der schneller anzusprechen ist, als der normale Hauptspeicher. Oft benötigte Daten können hier schnell geändert werden, ohne auf die Geschwindigkeit des Hauptspeichers Rücksicht nehmen zu müssen. Je mehr von diesem "First-Level-Cache" vorhanden ist, umso weniger oft muß auf den Hauptspeicher zugegriffen werden, umso schneller also auch die CPU. Der MC68060 hat deswegen auch nicht nur 256 Byte Cache, sondern ganze 8 KByte. Und was für Daten gut ist, schadet auch nicht für Programmcode. Ab dem MC68030 besitzen die Prozessoren auch einen "Instruction-Cache" für Programmcode.
Der Cache allein ist aber kein Garant für mehr Geschwindigkeit. Muß man mehr Daten bearbeiten, als in den Cache passen, muß man natürlich die neuen Daten erst in den Cache schreiben, und die alten vorher in den Hauptspeicher zurück. Das macht es schwierig, eine Geschwindigkeitsbewertung für den Cache aufzustellen, denn je nach Programm wird er mal mehr, mal weniger gut ausgenutzt. Man kann nur eine mittlere Geschwindigkeitssteigerung angeben, wobei eigentlich generell gilt: Eine Verdoppelung der Geschwindigkeit setzt mindestens eine Vervierfachung der Ressource voraus. Dies gilt für Cachegröße genauso, wie für Taktfrequenz.
Natürlich ist dies kein exaktes Maß, aber die Erfahrung hat gezeigt, daß es ein recht realistisches ist.
Es sieht also so aus, als wäre der Hauptspeicher schon der erste Bremser der CPU. Woran liegt das ?
Der Speicher
Die heute für den Amiga üblichen Speichermodule haben alle eine Zugriffszeit von 70 Nanosekunden oder besser. Dies hört sich extrem schnell an, aber rechnen wir einmal mit der folgenden einfachen Formel nach:
f = 1 / T Taktfrequenz = 1 / Zugriffszeit f = 1 / 70 * 10^-9 sec f = 14,3 MHz
Die Frequenz, mit der ein handelsüblicher RAM-Baustein betrieben werden kann, ist also ca. 14 MHz. Durch den 32 Bit-Zugriff können 4 Bytes pro Takt übertragen werden, also gute 56 MByte pro Sekunde. Warum aber zeigt sich mit den üblichen Meßprogrammen für den Speicherzugriff, daß die tatsächliche Leistung bei maximal ca. 28 MByte pro Sekunde liegt?
Die Antwort ist typisch für die Computerbranche: Der Aufdruck "-70" auf dem Speicherchip für 70 Nanosekunden ist gelogen - jedenfalls zur Hälfte. Denn die angegebene Zugriffszeit ist nur der halbe Weg. Bis dorthin ist im Speicherchip die Speicherstelle ausgelesen oder beschrieben. Gemerkt hat sich der Chip das aber noch nicht.
Normale Speicherchips (Dynamische RAMs, DRAMs) haben die fatale Eigenschaft, eine adressierte Speicherstelle in einen internen Puffer zu kopieren, und damit ist designbedingt der Inhalt der Speicherstelle zerstört. Der Inhalt muß also erst wiederhergestellt werden, was fast solange dauert, wie der Zugriff selbst. Beim Schreibzugriff werden die Daten erst in den Puffer geschrieben und dann in die eigentliche Speicherstelle. Solange ist ein Lesezugriff, aber auch ein weiterer Schreibzugriff nicht möglich. Das dauert ebenfalls etwa so lange wie die angegebene Zugriffszeit.
Neuere RAM-Chips haben eine Zugriffszeit von 60 Nanosekunden. Nach obiger Formel müssten bei 16,7 MHz Maximalfrequenz bis 66 MByte pro Sekunde drin sein, aber wieder ist kaum mehr als 33 MByte/s realistisch. Und es kommt noch ein weiteres Problem hinzu.
Die Zugriffszeiten mögen für einen RAM-Baustein noch realistisch sein, ein normaler Speicherriegel hat aber mehrere davon, je nach Größe schon mal bis zu 18 Stück. Jedes elektronische Bauteil besitzt jedoch eine elektrische Kapazität, die sich dadurch auszeichnet, daß sie hohe Frequenzen dämpft. Diese Kapazität addiert sich, und indem man mehrere Speicherriegel verwendet, noch viel mehr. Da auch RAM mit einem Taktsignal versorgt wird, kann diese Kapazität dazu führen, daß der verwendete Takt gedämpft wird und von der Elektronik gar nicht mehr als Takt erkannt wird, sondern als ein immer gleichbleibendes Signal. Resultat: Der Rechner steht, nichts geht mehr. Nimmt man ein oder zwei Speichermodule heraus, geht's wieder. Die RAM-Module bis an die Grenzen zu fahren, kann also schnell ins Auge gehen.
Taktfrequenzen
Aus den obigen Betrachtungen folgt: Der Prozessor muß u.U. schon für den Hauptspeicher Wartezyklen einlegen, sogenannte Wait-States. Dies ist dann der Fall, wenn der Prozessor den Speicher schneller ansprechen könnte, als er zuläßt. Läuft der Prozessor also mit 25 MHz, und der Befehl, der den Speicher adressiert und ausliest, benötigt drei Takte, so ist alles in Butter. Die drei Takte entsprechen dann einer Zeitspanne von 120 Nanosekunden, mit der ein 60 ns-RAM zurechtkommt.
Ist der Takt aber 50 MHz, wartet der Prozessor nach den drei Takten, die nunmehr nur 60 ns entsprechen, noch einmal drei Takte, bis sich der Speicher bequemt, seine Daten zu liefern. Man sieht, das Timing ist ein weiterer wichtiger Faktor für das System.
Dabei ist der obige Fall noch ein Idealfall. Viel krasser wird es, wenn die Taktfrequenz nicht vervielfacht wird, sondern z.B. von 25 MHz auf 33 MHz verändert wird. Viele Vorgänge im Computer hängen von Gleichzeitigkeit ab, es können z.B. nicht einfach irgendwann Daten übertragen werden, sondern ein Bus muß vom Sender und Empfänger genau zur gleichen Zeit mit Signalen belegt werden, damit nicht der eine sendet, wenn der andere nicht zuhört.
Hat man die Taktfrequenz verdoppelt, muß man nur einen Wartetakt einlegen, ist sie aber so krumm, wie 25 zu 33, muß man 3 Takte warten, bis beide Signale für kurze Zeit synchron sind. Errechnet wird dies durch das kleinste gemeinsame Vielfache, was hier 100 ist (4 * 25 = 3 * 33... naja, fast jedenfalls). Die geringe Abweichung von 1 % interessiert nicht, da die Taktfrequenzen auch nie ganz exakt sind. Solch geringe Toleranzen sind normalerweise im Timing berücksichtigt.
Warum ist das ein Problem, es wird doch für jedes Bauteil der Takt erhöht? Eben nicht. Normalerweise hat der Prozessor eine höhere Taktfrequenz als der Speicher, der wiederum schneller ist, als der Rest des Systems. Wechselt man den 14 MHz Prozessor des A1200 gegen einen 50 MHz MC68030 aus, dann ist erst einmal nur der Prozessor schneller, d.h. er wartet schneller auf den Rest des Systems. Ein Leistungsschub erfolgt erst, wenn man auch den Speicher schneller taktet, z.B. indem er mit auf der Turbokarte sitzt und mit dem schnelleren Prozessortakt betrieben wird.
Erste Zwischenbilanz
Zuerst darf man sich nicht von MHz-Angaben blenden lassen. Eine schnelle CPU erfordert immer auch einen schnellen Speicher, damit sie sich rentiert. Der zweite Blick sollte also auf dessen Art und Größe fallen.
Dummerweise sind die auf dem Amiga üblichen Taktfrequenzen so niedrig, daß ein Second-Level-Cache, wie auf dem PC, sich gar nicht auswirkt. Genauso gut kann man direkt auf den Speicher zugreifen. Man informiert sich also möglichst über den First-Level-Cache, den die CPU schon an Bord hat und ob die Turbokarte selbst mit Speicher aufrüstbar ist. Je mehr desto besser/schneller.
Bei Angaben über die Speichergeschwindigkeit skeptisch sein. Man weiß nicht, mit welchen und mit wie vielen Speicherchips gearbeitet wurde. Möglicherweise wurden nur wenige und sündhaft teure 40 ns-RAMs benutzt, die man nicht ohne weiteres kaufen kann.
Wenn sich die Möglichkeit bietet, eine Hardware zu testen, möglichst den eigenen Rechner danebenstellen und einige speicher- und rechenintensive Programme auf beiden Rechnern gleichzeitig laufen lassen.
![]() |
Inhaltsverzeichnis | ![]() |
©`98Der AmZeiger |